The demand for the automated management of an IT infrastructure, in particular the management and provision of storage space, has been constantly growing. The provision of storage space to a plurality of clients is typically based on a contract comprising a so called “service level agreement” (SLA) specifying the level of service a storage provider has agreed to provide to the respective client. Service level agreements can contain numerous service performance metrics which may be expressed in the form of service-level objectives. There is a need in the art for ensuring, in a cost-efficient manner, that storage volumes provided to the client devices are performing in accordance with the respective SLAs.
Prior art approaches for avoiding performance-related SLA violations are typically based on moving all the data of a storage volume, being part of a storage pool which is too heavily used for ensuring compliance with the SLAs, to a different storage volume of the storage environment. A drawback of this approach is that the complete amount of data of the source storage volume has to be transferred to the destination storage volume, thereby producing significant workload on the respective source and destination storage pools and in the storage network connecting the two. In addition, oftentimes storage devices constituting the logical storage volumes of a storage pool are structured in such a way that migrating data from one logical storage volume to another is not possible in every case due to technical constraints relating to incompatible properties of the physical storage volumes. In addition, organizational constraints for the migration of data exist as storage volumes and storage pools are commonly assigned specifically to groups or departments.